package ar.edu.unrn.lia.service;

import java.util.List;
import java.util.Map;

import ar.edu.unrn.lia.model.Cliente;
import ar.edu.unrn.lia.model.Cuenta;
import ar.edu.unrn.lia.service.exception.BusinessException;

public interface CuentaService {

	public void save(Cuenta entity);

	public void update(Cuenta entity);

	public void delete(Cuenta entity);

	public Cuenta getEntityById(Long id);

	public List<Cuenta> getAll();

	public Long getCount(Map<String, String> filters);

	public List<Cuenta> getList(Integer page, Integer pagesize,
			Map<String, String> filters, String sortField, Boolean asc);

	public List<Cuenta> findByQuery(String query, String propertyFilter,
			String orderDirection);

	void crearCuenta(Cliente cli);
	
	public Cuenta obtenerCuentaCaja() throws BusinessException;
	
	public Cuenta obtenerCuentaRentas() throws BusinessException;
	
	public List<Cuenta> buscarCuentaConDeuda();
	
	public List<Cuenta> buscarCuentaAcredor();
}